package com.ruoyi.project.syl_LiBiao.domain;

import java.util.Date;
import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 outpatient_case
 * 病例表
 * @author ruoyi
 * @date 2021-07-14
 */
public class OutpatientCase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 病例id */
    @Excel(name = "病例id")
    private String caseId;

    /** 患者id */
    @Excel(name = "患者id")
    private Integer patientId;

    /** 发病日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发病日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date illnessDate;

    /** 接诊类型 0 初诊 1复诊 */
    @Excel(name = "接诊类型 0 初诊 1复诊")
    private String receptionType;

    /** 是否传染 0 不传染 1传染 */
    @Excel(name = "是否传染 0 不传染 1传染")
    private String isInfect;

    /** 患者自述 */
    @Excel(name = "患者自述")
    private String chiefComplaint;

    /** 诊断信息 */
    @Excel(name = "诊断信息")
    private String diagnose;

    /** 医生建议 */
    @Excel(name = "医生建议")
    private String advise;

    /** 医生备注 */
    @Excel(name = "医生备注")
    private String doctorNotes;

    /** $column.columnComment */
    @Excel(name = "挂号单id")
    private String registerId;

    @Override
    public String toString() {
        return "OutpatientCase{" +
                "caseId='" + caseId + '\'' +
                ", patientId=" + patientId +
                ", illnessDate=" + illnessDate +
                ", receptionType='" + receptionType + '\'' +
                ", isInfect='" + isInfect + '\'' +
                ", chiefComplaint='" + chiefComplaint + '\'' +
                ", diagnose='" + diagnose + '\'' +
                ", advise='" + advise + '\'' +
                ", doctorNotes='" + doctorNotes + '\'' +
                ", registerId='" + registerId + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof OutpatientCase)) return false;
        OutpatientCase that = (OutpatientCase) o;
        return Objects.equals(caseId, that.caseId) &&
                Objects.equals(patientId, that.patientId) &&
                Objects.equals(illnessDate, that.illnessDate) &&
                Objects.equals(receptionType, that.receptionType) &&
                Objects.equals(isInfect, that.isInfect) &&
                Objects.equals(chiefComplaint, that.chiefComplaint) &&
                Objects.equals(diagnose, that.diagnose) &&
                Objects.equals(advise, that.advise) &&
                Objects.equals(doctorNotes, that.doctorNotes) &&
                Objects.equals(registerId, that.registerId);
    }

    @Override
    public int hashCode() {
        return Objects.hash(caseId, patientId, illnessDate, receptionType, isInfect, chiefComplaint, diagnose, advise, doctorNotes, registerId);
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getCaseId() {
        return caseId;
    }

    public void setCaseId(String caseId) {
        this.caseId = caseId;
    }

    public Integer getPatientId() {
        return patientId;
    }

    public void setPatientId(Integer patientId) {
        this.patientId = patientId;
    }

    public Date getIllnessDate() {
        return illnessDate;
    }

    public void setIllnessDate(Date illnessDate) {
        this.illnessDate = illnessDate;
    }

    public String getReceptionType() {
        return receptionType;
    }

    public void setReceptionType(String receptionType) {
        this.receptionType = receptionType;
    }

    public String getIsInfect() {
        return isInfect;
    }

    public void setIsInfect(String isInfect) {
        this.isInfect = isInfect;
    }

    public String getChiefComplaint() {
        return chiefComplaint;
    }

    public void setChiefComplaint(String chiefComplaint) {
        this.chiefComplaint = chiefComplaint;
    }

    public String getDiagnose() {
        return diagnose;
    }

    public void setDiagnose(String diagnose) {
        this.diagnose = diagnose;
    }

    public String getAdvise() {
        return advise;
    }

    public void setAdvise(String advise) {
        this.advise = advise;
    }

    public String getDoctorNotes() {
        return doctorNotes;
    }

    public void setDoctorNotes(String doctorNotes) {
        this.doctorNotes = doctorNotes;
    }

    public String getRegisterId() {
        return registerId;
    }

    public void setRegisterId(String registerId) {
        this.registerId = registerId;
    }

    public OutpatientCase(String caseId, Integer patientId, Date illnessDate, String receptionType, String isInfect, String chiefComplaint, String diagnose, String advise, String doctorNotes, String registerId) {
        this.caseId = caseId;
        this.patientId = patientId;
        this.illnessDate = illnessDate;
        this.receptionType = receptionType;
        this.isInfect = isInfect;
        this.chiefComplaint = chiefComplaint;
        this.diagnose = diagnose;
        this.advise = advise;
        this.doctorNotes = doctorNotes;
        this.registerId = registerId;
    }

    public OutpatientCase() {
    }
}
